The present invention relates generally to the field of network processors and more particularly to a network processor and method for accelerating data packet parsing by means of a parser.
Due to the increasing use of data intensive applications such as video streaming or Voice-over-IP via the internet, communication links (e.g. optic or copper cables) and data processing units which are operable to transmit and process a large number of data packets in fractions of a second are needed. Data packet processing supporting said data intensive applications requires immense computational power and the demand for processing power for managing Internet traffic is continuously growing. New types of specialized processors, so called ‘network processors’ were developed which are particularly suited for the handling and processing of data packets to be transmitted via a network, in particular the Internet.
In the past, network processors were either constructed as general-purpose processors (GPPs) or as application-specific integrated circuits (ASICs). While GPPs provide for high flexibility, they have not been designed specifically for the needs related to network processing and are therefore often too slow. To the contrary, ASICs are integrated circuits (ICs) having been designed for the particular needs of processing data packets to be transmitted over a network. ASICs can therefore solve their particular tasks very quickly and efficiently, but they are expensive and inflexible.
Processing data packets by a network processor usually comprises a parsing step wherein a parser of the network processor extracts and analyzes the contents of packet headers and fields and passes parsed packets or parts thereof to other network processor components. The speed of the programmable parser is generally determined by the time required by the parser to load an instruction and to execute it. Parsing performance is typically increased by increasing the clock frequency of the logic storing and/or executing a parsing instruction. Said approach requires a more powerful and expensive hardware and leads to an increased power dissipation, an unwelcome effect in financial and ecologic terms.